package com.kkb.util;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

/**
 * 连接池工具类
 */
public class DruidUtils {
    /*
    1. 加载 druid.properties 配置文件
    2. 创建 Druid 连接池对象
    3. 提供 获得 连接池对象的方法
    4. 提供 从连接池中 获取连接对象Connection的 方法
    */
    public static DataSource dataSource = null;

    static{
        try {
            //1. 加载 druid.properties 配置文件
            InputStream inputStream = DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties");
            // 把流中的数据 保存到 Properties集合中
            Properties prop = new Properties();
            prop.load(inputStream);
            //创建连接池对象
            dataSource = DruidDataSourceFactory.createDataSource(prop);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取数据源对象  DataSource
     */
    public static DataSource getDataSource(){
        return dataSource;
    }

    /**
     * 获取数据源中的连接对象
     */
    public static Connection getConection() throws SQLException {
        return dataSource.getConnection();
    }

}
